home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Sound / Utilities / ST201MusicDrivers Folder / Music Drivers / 'STrI' Glue.c < prev    next >
Text File  |  1993-09-07  |  2KB  |  89 lines

  1.  
  2. /* 'STrI' Glue.c - Glue for 'ISTk' 128 resource calls */
  3.  
  4. /* Copyright (c) 1991-93 by Frank Seide, Wirichsbongardstr. 43, D-52062 Aachen, Germany */
  5.  
  6. #define GoSTrIDispatcher(sel){\
  7.     asm{pea (sel)}\
  8.     asm{bra STrIJump}\
  9. }
  10.  
  11. void STrIJump()
  12. {
  13.     extern STrIDispatcher();
  14.     asm {
  15. #ifdef NO_RESOURCES
  16.         move.l        (a7)+,d0
  17.         jmp        STrIDispatcher
  18. #else
  19.         move.l        #0,-(a7)
  20.         move.l        #'ISTk',-(a7)
  21.         move.w        #128,-(a7)
  22.         _GetResource
  23.         move.l        (a7)+,a0
  24.         move.l        a0,d0
  25.         bne            @OK
  26.         move.w        #25,d0
  27.         _SysError
  28. @OK    move.l        (a0),a0
  29.         move.l        (a7)+,d0
  30.         jmp        (a0)
  31. #endif
  32.     }
  33. }
  34.  
  35. void GetSoundTrack() GoSTrIDispatcher(1)
  36. void HGetSoundTrack() GoSTrIDispatcher (2)
  37. void FSpGetSoundTrack() GoSTrIDispatcher (3)
  38. void PutSoundTrack() GoSTrIDispatcher (4)
  39. void HPutSoundTrack() GoSTrIDispatcher (5)
  40. void FSpPutSoundTrack() GoSTrIDispatcher (6)
  41.  
  42. /*** Handling SoundTrack resources: ***/
  43.  
  44. void GetSoundTrackResource() GoSTrIDispatcher (7)
  45. void GetNamedSoundTrackResource() GoSTrIDispatcher (8)
  46. void AddSoundTrackResource() GoSTrIDispatcher (9)
  47.  
  48. /*** Memory management: ***/
  49.  
  50. void NewSoundTrack() GoSTrIDispatcher (10)
  51. void DisposeSoundTrack() GoSTrIDispatcher (11)
  52. void MoreInstruments() GoSTrIDispatcher (12)
  53. void MoreVoices() GoSTrIDispatcher (13)
  54. void MorePatterns() GoSTrIDispatcher (14)
  55. void ReshapePattern() GoSTrIDispatcher (15)
  56.  
  57. /*** Playback functions: ***/
  58.  
  59. void LockSoundTrack() GoSTrIDispatcher (16)
  60. void UnlockSoundTrack() GoSTrIDispatcher (17)
  61.  
  62. void LinkSoundTrack() GoSTrIDispatcher (18)
  63. void UnlinkSoundTrack() GoSTrIDispatcher (19)
  64. void UpdateSoundTrack() GoSTrIDispatcher (20)
  65.  
  66. /*** Other functions: ***/
  67.  
  68. void RecalcSoundTrack() GoSTrIDispatcher (21)
  69. void SetSoundTrackStereoPosition() GoSTrIDispatcher (22)
  70. void GetSoundTrackInstrument() GoSTrIDispatcher (23)
  71. void GetSoundTrackWorkspace() GoSTrIDispatcher (24)
  72. void GetSoundTrackSongPos() GoSTrIDispatcher (25)
  73. void GetSoundTrackPattern() GoSTrIDispatcher (26)
  74. void VersionSoundTrack() GoSTrIDispatcher (0)
  75. void CopyrightSoundTrack() GoSTrIDispatcher (27)
  76.  
  77. /*** Credits: ***/
  78.  
  79. void STrICopr()        /* This string must *NOT* be removed! */
  80. {
  81.     asm {
  82.         dc.b    "*** 'ISTk' resource stub V2.0, 09/07/93, "
  83.         dc.b    "resource and stub "
  84.         dc.b    "copyright (c) 1991-93 by Frank Seide, Wirichsbongardstr. 43, "
  85.         dc.b    "D-52062 Aachen, Germany *** "
  86.         dc.b    "This message must not be changed or removed."
  87.     }
  88. }
  89.